Methods, systems and apparatus for power monitoring

ABSTRACT

Methods, systems, and apparatus for receiving one or more power usage measurements for a set of elements, determining a user behavior based at least on an analysis of the one or more power usage measurements of at least one of the set of elements, and based on a determined user behavior, causing the at least one of the set of elements to perform an action that affects a power function of the at least one of the set of elements.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of and claims the benefit ofpriority to U.S. application Ser. No. 16/665,998, filed Oct. 28, 2019,which is a continuation of U.S. application Ser. No. 14/486,011, filedSep. 15, 2014, each of which is hereby incorporated by reference in itsentirety.

TECHNICAL FIELD

The present application relates generally to monitoring powerconsumption, and more specifically, in one example, to monitoring powerusage of a device to determine ancillary information and correspondingactions and/or recommendations.

BACKGROUND

Power monitoring may be used to measure the quality and quantity ofpower consumed by home appliances, consumer electronic devices,industrial machinery, and the like. The power measurements may be basedon a duration of use and a magnitude of power consumed. The measurementsmay be used in applications such as energy conservation, the generationof invoices by utility companies, the detection of the usage of anappliance, and the like.

BRIEF DESCRIPTION OF THE DRAWINGS

Some embodiments are illustrated by way of example and not limitation inthe figures of the accompanying drawings in which:

FIG. 1 is a block diagram of an example system for monitoring the powerconsumption of an element, in accordance with an example embodiment;

FIG. 2 is a block diagram of an example apparatus for monitoring thepower consumption of a monitored element, in accordance with an exampleembodiment, in accordance with an example embodiment;

FIG. 3 is an example rule base data structure for determining actionsand/or recommendations based on power usage, in accordance with anexample embodiment;

FIG. 4A is an example device identification data structure, inaccordance with an example embodiment;

FIG. 4B is an example power measurement table for a corresponding powermeasurement device, in accordance with an example embodiment;

FIG. 5A is a flowchart for an example power usage analysis method formonitoring the power consumption of an element, deriving ancillaryinformation based on the monitored power usage, and determining actionsand/or recommendations based on the power usage and/or the ancillaryinformation, in accordance with an example embodiment;

FIG. 5B is a flowchart for an example method for analyzing a powersignature of a monitored element, in accordance with an exampleembodiment;

FIG. 6A is an example user interface for entering rules into a rule basedata structure utilized for analyzing power usage, in accordance with anexample embodiment;

FIG. 6B is an example user interface for displaying notificationsgenerated by analyzing the power usage of a monitored element, inaccordance with an example embodiment;

FIG. 7 is a block diagram illustrating an example mobile device,according to an example embodiment; and

FIG. 8 is a block diagram of a machine within which instructions may beexecuted for causing the machine to perform any one or more of themethodologies discussed herein.

DETAILED DESCRIPTION

In the following detailed description of example embodiments of theinvention, reference is made to specific examples by way of drawings andillustrations. These examples are described in sufficient detail toenable those skilled in the art to practice the invention, and serve toillustrate how the invention may be applied to various purposes orembodiments. Other embodiments of the invention exist and are within thescope of the invention, and logical, mechanical, electrical, and otherchanges may be made without departing from the scope or extent of thepresent invention. Features or limitations of various embodiments of theinvention described herein, however essential to the example embodimentsin which they are incorporated, do not limit the invention as a whole,and any reference to the invention, its elements, operation, andapplication do not limit the invention as a whole but serve only todefine these example embodiments. The following detailed descriptiondoes not, therefore, limit the scope of the invention, which is definedonly by the appended claims.

Generally, methods, apparatus, and systems for monitoring the powerconsumption of an element, deriving ancillary information based on themonitored power usage, and determining actions and/or recommendationsbased on the power usage and/or ancillary information, are disclosed.The element may be a component, a device, an appliance, a system or acombination of one or more of a component, a device, an appliance, and asystem. An element may be a home appliance, a computer, a mobile device,a personal digital assistant, a set-top box, a tablet computer, atelevision set, an audio system, a home theater system, a cellularphone, an internet device, a network-based storage device, and the like.A system can be a home ventilation and air conditioning system, aheating system, and the like. The power monitoring may comprise powermeasurements based on time of use (e.g., morning or evening, time ofday, and the like), frequency of use, duration of use, magnitude ofpower consumed, and the like. Based on one or more power measurements,information, such as the behavior of a user of the element, may bedetermined, inferred or estimated. Based on the power measurementsand/or user behavior, actions may be determined and/or recommendationsmay be generated. For example, a clothes washing machine may bemonitored and a usage of the clothes washing machine may be analyzed todetermine if a recommendation to purchase additional laundry suppliesshould be issued.

FIG. 1 is a block diagram of an example system 100 for monitoring thepower consumption of an element, in accordance with an exampleembodiment. The system 100 may derive ancillary information based on themonitored power usage and may determine actions and/or recommendationsbased on the power usage and/or ancillary information. In one exampleembodiment, the system 100 may comprise a power measurement device 104,a monitored element 108, a network 112, and a power monitor 116.

The monitored element 108 may be a component, a device, an appliance, asystem or a combination of one or more of a component, a device, anappliance, and a system. As described above, an element may be a homeappliance, a computer, a mobile device, a personal digital assistant, aset-top box, a tablet computer, a television set, an audio system, ahome theater system, a cellular phone, an internet device, anetwork-based storage device, and the like, and a system may be a homeventilation and air conditioning system, a heating system, and the like.The power consumption of the monitored element 108 may be monitored andancillary information, such as user behavior, may be determined,inferred, and/or estimated.

The power measurement device 104 may dynamically measure voltage and/orcurrent and may send the measurements to the power monitor 116. In oneexample embodiment, the power may be measured periodically, at aprescheduled time, in response to a reception of a measurement request,and/or in response to a substantial change in the power consumption. Inone example embodiment, the power measurements may be sent to the powermonitor 116 via the network 112. The power measurements may be sentperiodically, at a prescheduled time, in response to a reception of ameasurement request, and/or in response to a. substantial change in thepower consumption. In one example embodiment, the power measurementdevice 104 may be implemented as a dongle, an element of a power cord,an element of a power plug (as shown in FIG. 1), an element of themonitored element 108, a device electrically positioned between a powercord of the monitored element 108 and an electrical power outlet 120, adevice electrically positioned between a power cord of the monitoredelement 108 and an electrical circuit breaker, and the like. The powermeasurement device 104 may be a portable device that may be installed atdifferent locations.

The electrical power for the monitored element 108 may pass through thepower measurement device 104 or may bypass the power measurement device104. For example, the power measurement device 104 may comprise a splitcore current transformer that encompasses a power cord supplying powerto the monitored element 108. The split core current transformermeasures the current flowing through the power cord supplying power tothe monitored element 108 without requiring physical contact with thepower cord.

In one example embodiment, the power measurement device 104 maycommunicate externally with, for example, the power monitor 116 via awireless link (e.g., IEEE 802.11), a wired link (e.g., USB), and thelike. The power measurement device 104 may communicate with the powermonitor 116 via the network 112. In one example embodiment, the powermeasurement device 104 may communicate with the power monitor 116 viathe power line used to provide power to the monitored element 108 and/orvia the power line used to provide power to the power measurement device104.

The network 112 may be a local area network (LAN), a wireless network, ametropolitan area network (MAN), a wide area network (WAN), a wirelessnetwork, a network of interconnected networks, the public switchedtelephone network (PSTN), an electrical power-based network (such as theX.10 protocol), and the like. Communication links include, but are notlimited to, Wi-Fi (IEEE 802.11), Bluetooth, Universal Serial Bus (USB),and the like. In one example embodiment, the network 112 may compriseone or more routers and/or device switches (not shown).

The power monitor 116 may be implemented on a server, client, or otherprocessing device that includes an operating system for executingsoftware instructions. The power monitor 116 obtains power measurementinformation from the power measurement device 104 and determines, infersand/or estimates ancillary information, such as user behavior, andgenerates recommendations and/or identifies actions to be performedbased on the power measurement information and/or the ancillaryinformation. In one example embodiment, the power monitor 116 maytrigger or execute the identified action. In one example embodiment, thepower monitor 116 may be a component of the power measurement device104.

In one example embodiment, the power monitor 116 may periodically recordthe power measurement data received from the power measurement device104 for a period of time. In one example embodiment, the power monitor116 may record the power measurement data and/or changes in the powermeasurement data, as described below in conjunction with FIG. 4B. Therecording may include a time of the change of the power measurementdata.

In one example embodiment, the type of element being monitored may bedetermined by analyzing the monitored power usage. For example, a homeappliance, such as a clothes washing machine, may cycle throughdifferent operations that consume different amounts of power. A firstcycle may consume 75 watts and may fill the tub with water, a secondcycle may consume 800 watts and may rotate the tub to create a washingaction, a third cycle may consume 50 watts and may drain the tub ofwater, a fourth cycle may consume 75 watts and may fill the tub withclean water, a fifth cycle may consume 800 watts and may rotate the tubto create a rinsing action, and a sixth cycle may consume 1000 watts andmay spin the tub at a high speed to drain the clothes of water. Atime-based record of the power consumed may produce a power signaturethat may be used to identify the type of appliance as a clothes washingmachine by comparing known power signatures with the power signature ofthe unknown element.

In one example embodiment, power usage data and the derived information,such as user behavior, may be maintained at a central location, In oneexample embodiment, information derived from the power usage of aplurality of elements may be analyzed to determine ancillaryinformation, including user behavior, as described more fully below. Forexample, if a kitchen blender, stereo system, and specified lights aredetermined to be powered-on during the same time period, it may beinferred that a house party is in progress. In another example, thesleeping patterns of a user may be inferred from the power usage ofvarious devices. For example, the power usage of a bedroom lamp andbedroom television may be used to determine the sleeping patterns of auser.

In one example embodiment, information may be derived for a plurality ofusers and the information may be aggregated based on demographics. Forexample, coffee consumption for a population based on user location orage group may be estimated by aggregating the power usage data and/orinformation derived from the power usage data for a plurality of coffeeusers. The power usage data may be the power consumed by, for example, alaptop computer that may indicate an amount of time spent by a user atthe coffee house and thereby the amount of coffee consumed.

FIG. 2 is a block diagram of an example apparatus 200 for monitoring thepower consumption of a monitored element 108, in accordance with anexample embodiment. In one example embodiment, the apparatus 200 mayserve as the power monitor 116. The apparatus 200 may derive ancillaryinformation based on the monitored power usage of an element and maydetermine actions and/or recommendations based on the power usage and/orthe ancillary information. The power monitor 116 is shown to include aprocessing system 202 that may be implemented on a server, client, orother processing device that includes an operating system 204 forexecuting software instructions. In accordance with an exampleembodiment, the power monitor 116 may include a user interface module206, a power measurement interface module 210, a power analysis module214, and a notification module 218. In accordance with an exampleembodiment, the apparatus 200 may include a data storage interface 222for accessing data that may comprise, for example, a rules database foranalyzing power usage.

The user interface module 206 provides an interface for entering rulesfor analyzing power usage, as described more fully below in conjunctionwith FIGS. 3 and 6A. The user interface module 206 also provides aninterface for issuing notifications to a user, such as recommendationsor suggested actions, as described more fully below in conjunction withFIG. 6B.

The power measurement interface module 210 exchanges information withthe power measurement device 104. For example, the power measurementinterface module 210 may submit power measurement requests to the powermeasurement device 104 and may obtain power measurement data from thepower measurement device 104.

The power analysis module 214 analyzes power usage of the monitoredelement 108 to determine, infer and/or estimate ancillary information,such as user behavior, generates recommendations and/or identifiesactions to be performed, and/or identifies the type of device that isconsuming the power. In one example embodiment, the power analysismodule 214 may trigger or execute the identified action(s).

The notification module 218 issues recommendations and/or triggersactions determined by the power analysis module 214. For example, thenotification module 218 may issue a recommendation to a user via theuser interface module 206 or may trigger an action, such as turning thepower on for a coffee maker, by issuing a command via the network 112.

FIG. 3 is an example rule base data structure 300 for determiningactions and/or recommendations based on power usage and/or the ancillaryinformation derived from the power usage, in accordance with an exampleembodiment. Each row 304 of the rule base data structure 300 maycorrespond to a rule for analyzing the power usage of the monitoredelement 108. Column 308 may be a rule identifier field, column 312 mayidentify the type of element (such as type of appliance), column 316 maydefine the conditions for applying the corresponding rule, and column318 may define the recommendation to be issued and/or action to beperformed.

Rule 1, for example, is directed to a coffee maker that utilizes twocycles: a high-powered brewing cycle and a low-powered warming cycle. Inthis case, knowing only the relative power consumption is sufficient toimplement the rule; the exact power consumed by each cycle is notneeded. In one example embodiment, the coffee machine is monitored and ausage of the coffee maker is analyzed to determine a user's behavior,such as how much coffee the user is consuming. From the amount of coffeeconsumed, a time for suggesting the purchase of coffee refills may bedetermined. As defined in Rule 1, if a duration of power usage at thehigher power rating (indicative of the brewing cycle) exceeds 300minutes, a recommendation to purchase coffee is issued. In addition, anincrease in coffee consumption by a user may indicate personal stressand may indicate that stress reduction medications should be recommendedor vacation opportunities should be presented to the user.

Rule 2 is directed to a hair dryer that utilizes two settings: a hightemperature drying setting and a low temperature drying setting. In oneexample embodiment, the hair dryer is monitored and a usage of the hairdryer is analyzed to determine the user's behavior, such as whether thehair dryer is used more frequently on the high temperature setting orthe low temperature setting. From the setting information, arecommendation for a suitable hair product(s) may be determined andpresented to the user. For example, if a duration of power usage at 1500Watts exceeds a power usage of 750 Watts, a recommendation to purchasebrand X heat-tolerant hair products is issued.

In one example embodiment, user behavior may be inferred from analyzingthe power usage of a plurality of elements. Rule 3, for example, isdirected to analyzing the power usage of a television, a home theatresystem, and lighting in a home theatre. For example, if the televisionpower usage exceeds 50 watts, the home theatre system power usageexceeds 75 watts, and the lights are dimmed (i.e., power usage isapproximately 200 watts), it is inferred that a movie is in progress. Inanother example, if the television power usage exceeds 50 watts and thehome theatre system power usage is less than five watts (i.e., the hometheatre system is not active), it is inferred that a television programother than a movie is in progress.

In one example embodiment, a water heating system is monitored and apower usage of the water heating system is analyzed to estimate thenumber of occupants of a residence and the number of showers and orbaths taken by the occupants. In one example embodiment, 0.171 kilowatthours (kWh) are consumed to heat one gallon of water from 50 degreesFahrenheit to 120 degrees Fahrenheit. In addition, a bath may consume12-15 gallons of hot water and a shower may consume 5-9 gallons of hotwater. Based on this information, an approximate number of showersand/or baths taken may be estimated and, based on the estimate ofshowers and baths taken, a number of occupants of the residence may beestimated.

In one example embodiment, the usage of the water heating system isanalyzed to determine if the water heater is working properly andefficiently based on the expected energy consumption by the water heaterfor a specified number of occupants of a residence. If the water heateris not working properly or efficiently (as indicated by the measuredenergy consumption exceeding the expected value), a service appointmentand/or the replacement of one or more parts of the water heating systemmay be recommended.

In one example embodiment, a clothes washing machine and/or clothesdryer are monitored and a usage of the clothes washing machine and/orclothes dryer is analyzed to determine if a recommendation to purchaseadditional laundry supplies should be issued. For example, if theclothes washing machine has cycled on and off more than forty times, arecommendation to purchase additional laundry supplies may be issued. Inaddition, if the power usage of the clothes dryer exceeds a pre-definedtime duration on a single occasion, a recommendation may be issued tosuggest that fewer clothes be loaded into the dryer. Similarly, usage ofa toaster could indicate that a recommendation to purchase additionalbread products should be issued.

In one example embodiment, a lamp is monitored and a usage of the lampis analyzed to determine user behavior. For example, a user's wakingstate or time, commute time, change of working shift, and the like maybe determined from the power usage of the lamp.

In one example embodiment, the power usage of a television or lamp isanalyzed to determine if the device is being used in violation of asecurity policy or a parental control mechanism. For example, the powerusage of a television in a child's bedroom after 9 PM may indicate thatthe television is being used in violation of a parental rule. In oneexample embodiment, the parent is notified if the television is in useafter 9 PM.

In one example embodiment, a kitchen blender is monitored and a usage ofthe kitchen blender is analyzed to determine the speed setting of theblender and the type of food being prepared. For example, the powersignature of the blender may indicate a sequence of speed settings andthe sequence of speed settings may indicate the particular type of foodbeing prepared. In one example embodiment, a personal computer ismonitored and a usage of the personal computer is analyzed to determinea time for recommending that the user of the personal computer take abreak.

In one example embodiment, a television and/or set-top box is monitoredand a usage of the television and/or set-top box is analyzed todetermine user behavior. For example, the programs being watched (orskipped) and the commercials being watched (or ignored) may bedetermined from the television usage. In one example embodiment, afluctuation in the power consumed by the set-top box may be indicativeof a user changing channels and/or fast-forwarding a built-in digitalvideo recorder (DVR). The fluctuations may also be indicative of thenumber of channels being changed (either up or down). In addition, asteady consumption of power for a specified time period, such as 30 or60 minutes, may be indicative of the program in a programming schedulethat is being viewed. For example, an analysis of the programmingschedule may be performed to identify the program(s) that have the sameduration as the steady power consumption and, therefore, the program(s)that may have been selected by the user.

It is also known that television viewers often bypass commercials. Inone example embodiment, the changing of the channel on the set-top boxor the fast-forwarding of a DVR by a user may be indicative ofcommercials being bypassed by the user; the time of the operation (i.e.,the changing of the channel or the fast-forwarding of the DVR) may becompared to known commercial breaks occurring in specific programs topinpoint which channel the user is watching.

In one example embodiment, a user's power utilization at a public venueis monitored. For example, a customer's power usage for a computer orcell phone at an airport or coffee house may be monitored and theduration and/or magnitude of the power consumed may be used to profile auser's behavior at the public location. As described above, the powerusage of a plurality of users at the location may be aggregated tocharacterize the typical power usage at the location and the typicaluser behavior at the location. For example, the average amount of timethat a typical user uses a computer at a coffee house may be determinedand tracked over time to derive marketing information for the coffeehouse.

FIG. 4A is an example device identification data structure 400, inaccordance with an example embodiment. Each row 404 of the deviceidentification data structure 400 may correspond to and identify a powermeasurement device 104. Column 408 is a power measurement deviceidentifier field comprising an identification number for thecorresponding power measurement device 104, column 412 identifies thetype of element(s) (such as type of appliance(s)) being monitored by thecorresponding power measurement device 104, and column 416 identifies atable that maintains the power measurements for the corresponding powermeasurement device 104. For example, the power measurement device 104with identifier 4729835 is monitoring a 100 watt lamp and a brand X,model Y television and the power measurements are stored in table T106.

FIG. 4B is an example power measurement table 450 for a correspondingpower measurement device 104, in accordance with an example embodiment.Each row 454 of the power measurement table 450 may correspond to apower measurement and/or power measurement transition. Column 458corresponds to a time of a power measurement and/or power measurementtransition and column 462 describes the power measurement and/or powermeasurement transition. For example, the power measurement table 450shows that 550 watts was being consumed at 12:27:00 PM and a transitionto 100 watts occurred at 12:37:05 PM.

FIG. 5A is a flowchart for a power usage analysis method 500 formonitoring the power consumption of an element, deriving ancillaryinformation based on the monitored power usage, and determining actionsand/or recommendations based on the power usage and/or the ancillaryinformation derived from the power usage, in accordance with an exampleembodiment. In one example embodiment, one or more of the operations ofthe power usage analysis method 500 may be performed by the poweranalysis module 214.

In one example embodiment, an identification number of the powermeasurement device 104 corresponding to the monitored element 108 isobtained and an initial power measurement(s) is obtained from theidentified power measurement device 104 and stored as the parameterlast_measured_value (operation 504). The initial power measurement(s)may also be stored in the corresponding power measurement table 450. Theparameter last_measured_value may be a scalar value, such as currentmeasured in amps, or may be a vector comprising one or more powermeasurement values, such as current measured in amps and voltagemeasured in volts. In one example embodiment, the power usage analysismethod 500 waits for a power consumption event, such as a change in thepower measurement, to occur before proceeding to operation 512. In oneexample embodiment, the power usage analysis method 500 may proceed tooperation 516 without waiting for the occurrence of a power consumptionevent.

In one example embodiment, a test is performed to determine if a powerconsumption event is detected (operation 508), In one exampleembodiment, the power consumption event may be a trigger from a powermeasurement timer, an occurrence of a scheduled measurement event, areception of a measurement request, a detection of a substantial changein power consumption, and the like. For example, a power consumptionevent may occur if the measured current changes from zero amps to twoamps.

In one example embodiment, if a power consumption event is not detected,the power usage analysis method 500 repeats operation 508 if a powerconsumption event is detected, one or more power measurements areobtained from the power measurement device 104 and stored as theparameter last_measured_value (operation 512). The obtained powermeasurement(s) may also be stored in the corresponding power measurementtable 450. As described above, the parameter last_measured_value may bea scalar value, such as current measured in amps, or may be a vectorcomprising one or more power measurement values, such as currentmeasured in amps and voltage measured in volts.

In one example embodiment, the parameter last_measured_value isprocessed based, for example, on one or more of the rules in the rulebase data structure 300. In processing the parameterlast_measured_value, power measurement data stored in the correspondingpower measurement table 450 may be accessed and utilized in theanalysis. Based on the analysis of the power measurement data, one ormore actions and/or recommendations are determined (operation 516). Forexample, if a clothes washing machine has cycled on and off more thanforty times, a recommendation to purchase additional laundry suppliesmay be determined.

In one example embodiment, one or more of the determined actions and/orrecommendations are issued in a notification (operation 520). Forexample, a notification may be issued via the notification module 218 toa mobile device of a user indicating that additional laundry detergentsmay be needed.

FIG. 5B is a flowchart for a method 550 for analyzing a power signatureof a monitored element 108, in accordance with an example embodiment. Inone example embodiment, one or more of the operations of the power usageanalysis method 550 may be performed by the power analysis module 214.

In one example embodiment, power measurement information for themonitored element 108, such as the power measurement informationmaintained in a corresponding power measurement table 450, may beprocessed to generate an element power signature (operation 554). Forexample, a curve fitting algorithm may be used to mathematicallycharacterize the power measurement information and may derive amathematical expression, such as a mathematical formula or function,that characterizes the power consumption of the monitored element 108.

The mathematical characterization of the element's power signature maybe compared to a library of power signatures of a variety of elements,such as computers, home appliances, and the like (operation 558). A testis performed to determine if a matching power signature was found(operation 562). If a matching power signature was found, the type ofelement identified in the library is assigned to the element beingmonitored (operation 566). If a matching device power signature is notfound, an error message, such as a “no match found” message, is returned(operation 570).

FIG. 6A is an example user interface 600 for entering rules into therule base data structure 300, in accordance with an example embodiment.A power measurement device identifier of a selected power measurementdevice 104 may be entered in the power measurement elementidentification field 604 and the type of element(s) being monitored maybe entered in the element type field 608. For example, the powermeasurement device identifier 4729834 may be entered in the powermeasurement element identification field 604 and the appliance type“coffee maker” may be entered in the element type field 608. In oneexample embodiment, the element type may be automatically identified byanalyzing a power signature of the element, as described more fullyabove in conjunction with FIG. 5B.

One or more rule conditions may be entered in the rule condition field612 and one or more rule actions and/or recommendations may be enteredin the rule action/recommendation field 616. For example, the rulecondition may be that the duration of power usage at a high power ratingexceeds 300 minutes and the corresponding recommendation may be topurchase coffee.

FIG. 6B is an example user interface 650 for displaying notificationsgenerated by analyzing the power usage of the monitored element 108, inaccordance with an example embodiment. The notifications may includerecommendations 654 that have been issued and/or actions 658 that havebeen executed as a result of the power usage analysis. For example, arecommendation may be to purchase coffee and an action may be toshut-off a warming cycle.

Although certain examples are shown and described here, other variationsexist and are within the scope of the invention. It will be appreciated,by those of ordinary skill in the art, that any arrangement, which isdesigned or arranged to achieve the same purpose, may be substituted forthe specific embodiments shown. This application is intended to coverany adaptations or variations of the example embodiments of theinvention described herein. It is intended that this invention belimited only by the claims, and the full scope of equivalents thereof.

Example Mobile Device

FIG. 7 is a block diagram illustrating an example mobile device 700,according to an example embodiment. The mobile device 700 may include aprocessor 702. The processor 702 may be any of a variety of differenttypes of commercially available processors suitable for mobile devices(for example, an XScale architecture microprocessor, a microprocessorwithout interlocked pipeline stages (MIPS) architecture processor, oranother type of processor 702). A memory 704, such as a random accessmemory (RAM), a flash memory, or other type of memory, is typicallyaccessible to the processor 702. The memory 704 may be adapted to storean operating system (OS) 706, as well as application programs 708, suchas a mobile location enabled application that may provide LBSs to auser. The processor 702. may be coupled, either directly or viaappropriate intermediary hardware, to a display 710 and to one or moreinput/output (110) devices 712, such as a keypad, a touch panel sensor,a microphone, and the like. Similarly, in some embodiments, theprocessor 702 may be coupled to a transceiver 714 that interfaces withan antenna 716. The transceiver 714 may be configured to both transmitand receive cellular network signals, wireless data signals, or othertypes of signals via the antenna 716, depending on the nature of themobile device 700. Further, in some configurations, a GPS receiver 718may also make use of the antenna 716 to receive GPS signals.

Modules, Components and Logic

Certain embodiments are described herein as including logic or a numberof components, modules, or mechanisms. Modules may constitute eithersoftware modules (e.g., code embodied (1) on a non-transitorymachine-readable medium or (2) in a transmission signal) orhardware-implemented modules. A hardware-implemented module is atangible unit capable of performing certain operations and may beconfigured or arranged in a certain manner. In example embodiments, oneor more computer systems (e.g., a standalone, client or server computersystem) or one or more processors may be configured by software (e.g.,an application or application portion) as a hardware-implemented modulethat operates to perform certain operations as described herein.

In various embodiments, a hardware-implemented module may be implementedmechanically or electronically. For example, a hardware-implementedmodule may comprise dedicated circuitry or logic that is permanentlyconfigured (e.g., as a special-purpose processor, such as a fieldprogrammable gate array (FPGA) or an application-specific integratedcircuit (ASIC)) to perform certain operations. A hardware-implementedmodule may also comprise programmable logic or circuitry (e.g., asencompassed within a general-purpose processor or other programmableprocessor) that is temporarily configured by software to perform certainoperations. It will be appreciated that the decision to implement ahardware-implemented module mechanically, in dedicated and permanentlyconfigured circuitry, or in temporarily configured circuitry (e.g.,configured by software) may be driven by cost and time considerations.

Accordingly, the term “hardware-implemented module” should be understoodto encompass a tangible entity, be that an entity that is physicallyconstructed, permanently configured (e.g., hardwired) or temporarily ortransitorily configured (e.g., programmed) to operate in a certainmanner and/or to perform certain operations described herein.Considering embodiments in which hardware-implemented modules aretemporarily configured (e.g., programmed), each of thehardware-implemented modules need not be configured or instantiated atany one instance in time. For example, where the hardware-implementedmodules comprise a general-purpose processor configured using software,the general-purpose processor may be configured as respective differenthardware-implemented modules at different times. Software mayaccordingly configure a processor, for example, to constitute aparticular hardware-implemented module at one instance of time and toconstitute a different hardware-implemented module at a differentinstance of time.

Hardware-implemented modules can provide information to, and receiveinformation from, other hardware-implemented modules. Accordingly, thedescribed hardware-implemented modules may be regarded as beingcommunicatively coupled. Where multiples of such hardware-implementedmodules exist contemporaneously, communications may be achieved throughsignal transmission (e.g., over appropriate circuits and buses thatconnect the hardware-implemented modules). In embodiments in whichmultiple hardware-implemented modules are configured or instantiated atdifferent times, communications between such hardware-implementedmodules may be achieved, for example, through the storage and retrievalof information in memory structures to which the multiplehardware-implemented modules have access. For example, onehardware-implemented module may perform an operation and store theoutput of that operation in a memory device to which it iscommunicatively coupled. A further hardware-implemented module may then,at a later time, access the memory device to retrieve and process thestored output. Hardware-implemented modules may also initiatecommunications with input or output devices, and can operate on aresource (e.g., a collection of information).

The various operations of example methods described herein may beperformed, at least partially, by one or more processors that aretemporarily configured (e.g., by software) or permanently configured toperform the relevant operations. Whether temporarily or permanentlyconfigured, such processors may constitute processor-implemented modulesthat operate to perform one or more operations or functions. The modulesreferred to herein may, in some example embodiments, compriseprocessor-implemented modules.

Similarly, the methods described herein may be at least partially,processor-implemented. For example, at least some of the operations of amethod may be performed by one or more processors orprocessor-implemented modules. The performance of certain of theoperations may be distributed among the one or more processors, not onlyresiding within a single machine, but deployed across a number ofmachines. In some example embodiments, the processor or processors maybe located in a single location (e.g., within a home environment, anoffice environment or as a server farm), while in other embodiments theprocessors may be distributed across a number of locations.

The one or more processors may also operate to support performance ofthe relevant operations in a “cloud computing” environment or as a“software as a service” (SaaS). For example, at least some of theoperations may be performed by a group of computers (as examples ofmachines including processors), these operations being accessible via anetwork (e.g., the Internet) and via one or more appropriate interfaces(e.g., application program interfaces (APIs).)

Electronic Apparatus and System

Example embodiments may be implemented in digital electronic circuitry,or in computer hardware, firmware, software, or in combinations of them.Example embodiments may be implemented using a computer program product,e.g., a computer program tangibly embodied in an information carrier,e.g., in a machine-readable medium for execution by, or to control theoperation of data processing apparatus, e.g., a programmable processor,a computer, or multiple computers.

A computer program can be written in any form of programming language,including compiled or interpreted languages, and it can be deployed inany form, including as a stand-alone program or as a module, subroutine,or other unit suitable for use in a computing environment. A computerprogram can be deployed to be executed on one computer or on multiplecomputers at one site or distributed across multiple sites andinterconnected by a communication network.

In example embodiments, operations may be performed by one or moreprogrammable processors executing a computer program to performfunctions by operating on input data and generating output. Methodoperations can also be performed by, and apparatus of exampleembodiments may be implemented as, special purpose logic circuitry,e.g., a field programmable gate array (FPGA) or an application-specificintegrated circuit (ASIC).

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other. Inembodiments deploying a programmable computing system, it will beappreciated that both hardware and software architectures requireconsideration. Specifically, it will be appreciated that the choice ofwhether to implement certain functionality in permanently configuredhardware an ASIC), in temporarily configured hardware (e.g., acombination of software and a programmable processor), or a combinationof permanently and temporarily configured hardware may be a designchoice. Below are set out hardware (e.g., machine) and softwarearchitectures that may be deployed, in various example embodiments.

Example Machine Architecture and Machine-Readable Medium

FIG. 8 is a block diagram of a machine within which instructions may beexecuted for causing the machine to perform any one or more of themethodologies discussed herein. In one example embodiment, the machinemay be the example apparatus 200 of FIG. 2 for monitoring powerconsumption of an element and deriving ancillary information based onthe monitored power usage. In alternative embodiments, the machineoperates as a standalone device or may be connected (e.g., networked) toother machines. In a networked deployment, the machine may operate inthe capacity of a server or a client machine in a server-client networkenvironment, or as a peer machine in a peer-to-peer (or distributed)network environment. The machine may be a personal computer (PC), atablet PC, a set-top box (STB), a personal digital assistant (PDA), acellular telephone, a web appliance, a network router, switch or bridge,or any machine capable of executing instructions (sequential orotherwise) that specify actions to be taken by that machine. Further,while only a single machine is illustrated, the term “machine” shallalso be taken to include any collection of machines that individually orjointly execute a set (or multiple sets) of instructions to perform anyone or more of the methodologies discussed herein.

The example computer system 800 includes a processor 802 (e.g., acentral processing unit (CPU), a graphics processing unit (GPU) orboth), a main memory 804 and a static memory 806, which communicate witheach other via a bus 808. The computer system 800 may further include avideo display unit 810 (e.g., a liquid crystal display (LCD) or acathode ray tube (CRT)). The computer system 800 also includes analphanumeric input device 812 (e.g., a keyboard), a user interface (UI)navigation (or cursor control) device 814 (e.g., a mouse), a disk driveunit 816, a signal generation device 818 (e.g., a speaker) and a networkinterface device 820.

Machine-Readable Medium

The drive unit 816 includes a machine-readable medium 822 on which isstored one or more sets of data structures and instructions 824 (e.g.,software) embodying or utilized by any one or more of the methodologiesor functions described herein. The instructions 824 may also reside,completely or at least partially, within the main memory 804 and/orwithin the processor 802 during execution thereof by the computer system800, the main memory 804 and the processor 802 also constitutingmachine-readable media 822. Instructions 824 may also reside within thestatic memory 806.

While the machine-readable medium 822 is shown in an example embodimentto be a single medium, the term “machine-readable medium” may include asingle medium or multiple media (e.g., a centralized or distributeddatabase, and/or associated caches and servers) that store the one ormore data structures or instructions 824. The term “machine-readablemedium” shall also be taken to include any tangible medium that iscapable of storing, encoding or carrying instructions 824 for executionby the machine and that cause the machine to perform any one or more ofthe methodologies of the present invention, or that is capable ofstoring, encoding or carrying data structures utilized by or associatedwith such instructions 824. The term “machine-readable medium” shallaccordingly be taken to include, but not be limited to, solid-statememories, and optical and magnetic media. Specific examples ofmachine-readable media 822 include non-volatile memory, including by wayof example semiconductor memory devices, e.g., erasable programmableread-only memory (EPROM), electrically erasable programmable read-onlymemory (EEPROM), and flash memory devices; magnetic disks such asinternal hard disks and removable disks; magneto-optical disks; andCD-ROM and DVD-ROM disks.

Transmission Medium

The instructions 824 may further be transmitted or received over acommunications network 826 using a transmission medium. The instructions824 may be transmitted using the network interface device 820 and anyone of a number of well-known transfer protocols (e.g., hypertexttransfer protocol (HTTP)). Examples of communications networks 826include a local area network (“LAN”), a wide area network (“WAN”), theInternet, mobile telephone networks, plain old telephone (POTS)networks, and wireless data networks (e.g., WiFi and WiMax networks).The term “transmission medium” shall be taken to include any intangiblemedium that is capable of storing, encoding or carrying instructions 824for execution by the machine, and includes digital or analogcommunications signals or other intangible media to facilitatecommunication of such instructions 824.

Although an embodiment has been described with reference to specificexample embodiments, it will be evident that various modifications andchanges may be made to these embodiments without departing from thebroader spirit and scope of the invention. Accordingly, thespecification and drawings are to be regarded in an illustrative ratherthan a restrictive sense. The accompanying drawings that form a parthereof, show by way of illustration, and not of limitation, specificembodiments in which the subject matter may be practiced. Theembodiments illustrated are described in sufficient detail to enablethose skilled in the art to practice the teachings disclosed herein.Other embodiments may be utilized and derived therefrom, such thatstructural and logical substitutions and changes may be made withoutdeparting from the scope of this disclosure. This Detailed Description,therefore, is not to be taken in a limiting sense, and the scope ofvarious embodiments is defined only by the appended claims, along withthe full range of equivalents to which such claims are entitled.

Such embodiments of the inventive subject matter may be referred toherein, individually and/or collectively, by the term “invention” merelyfor convenience and without intending to voluntarily limit the scope ofthis application to any single invention or inventive concept if morethan one is in fact disclosed. Thus, although specific embodiments havebeen illustrated and described herein, it should be appreciated that anyarrangement calculated to achieve the same purpose may be substitutedfor the specific embodiments shown. This disclosure is intended to coverany and all adaptations or variations of various embodiments.Combinations of the above embodiments, and other embodiments notspecifically described herein, will be apparent to those of skill in theart upon reviewing the above description.

The Abstract of the Disclosure is provided to comply with 37 C.F.R. §1.72(b), requiring an abstract that will allow the reader to quicklyascertain the nature of the technical disclosure. It is submitted withthe understanding that it will not be used to interpret or limit thescope or meaning of the claims. In addition, in the foregoing DetailedDescription, it can be seen that various features are grouped togetherin a single embodiment for the purpose of streamlining the disclosure.This method of disclosure is not to be interpreted as reflecting anintention that the claimed embodiments require more features than areexpressly recited in each claim. Rather, as the following claimsreflect, inventive subject matter lies in less than all features of asingle disclosed embodiment. Thus the following claims are herebyincorporated into the Detailed Description, with each claim standing onits own as a separate embodiment.

What is claimed is:
 1. A method, comprising: receiving one or more powerusage measurements for a set of elements, the one or more power usagemeasurements resulting from usage of the set of elements by a user;determining a user behavior based at least on an analysis of the one ormore power usage measurements of at least one of the set of elements;and based on a determined user behavior, causing the at least one of theset of elements to perform an action that affects a power function ofthe at least one of the set of elements.
 2. The method of claim 1,further comprising: based on the determined user behavior, causingdisplay of a notification corresponding to a suggestion of the actionthat affects the power function of the at least one of the set ofelements.
 3. The method of claim 2, wherein the action is an increase ofa supply for the at least one of the set of elements.
 4. The method ofclaim 1, further comprising: identifying the set of elements based atleast in part on a set of identifiers associated with the set ofelements.
 5. The method of claim 1, wherein the one or more power usagemeasurements are based on one of: a time of use, a frequency of use, aduration of use, or a magnitude of power consumed.
 6. The method ofclaim 1, wherein the one or more power usage measurements are receivedfrom a hardware-based power measurement device.
 7. The method of claim6, wherein the hardware-based power measurement device is coupled to apower plug or a power cord.
 8. A system comprising: a processor; amemory including instructions that, when executed by the processor,cause the processor to perform operations comprising: receiving one ormore power usage measurements for a set of elements, the one or morepower usage measurements resulting from usage of the set of elements bya user; determining a user behavior based at least on an analysis of theone or more power usage measurements of at least one of the set ofelements; and based on a determined user behavior, causing the at leastone of the set of elements to perform an action that affects a powerfunction of the at least one of the set of elements.
 9. The system ofclaim 8, wherein the memory includes further instructions, which furthercause the processor to perform further operations comprising: based onthe determined user behavior, causing display of a notificationcorresponding to a suggestion of the action that affects the powerfunction of the at least one of the set of elements.
 10. The system ofclaim
 9. wherein the action is an increase of a supply for the at leastone of the set of elements.
 11. The system of claim 8, wherein thememory includes further instructions, which further cause the processorto perform further operations comprising: identifying the set ofelements based at least in part on a set of identifiers associated withthe set of elements.
 12. The system of claim 8, wherein the one or morepower usage measurements are based on one of: a time of use, a frequencyof use, a duration of use, or a magnitude of power consumed.
 13. Thesystem of claim 8, wherein the one or more power usage measurements arereceived from a hardware-based power measurement device.
 14. The systemof claim 13, wherein the hardware-based power measurement device iscoupled to a power plug or a power cord.
 15. A non-transitorycomputer-readable medium comprising instructions, which when executed bya processor, cause the processor to perform operations comprising:receiving one or more power usage measurements for a set of elements,the one or more power usage measurements resulting from usage of the setof elements by a user; determining a user behavior based at least on ananalysis of the one or more power usage measurements of at least one ofthe set of elements; and based on a determined user behavior, causingthe at least one of the set of elements to perform an action thataffects a power function of the at least one of the set of elements. 16.The non-transitory computer-readable medium of claim 15, wherein thenon-transitory computer-readable medium comprises further instructions,which when executed by the processor, further cause the processor toperform further operations comprising: based on the determined userbehavior, causing display of a notification corresponding to asuggestion of the action that affects the power function of the at leastone of the set of elements.
 17. The non-transitory computer-readablemedium of claim 15, wherein the action is an increase of a supply forthe at least one of the set of elements.
 18. The non-transitorycomputer-readable medium of claim 15, wherein the non-transitorycomputer-readable medium comprises further instructions, which whenexecuted by the processor, further cause the processor to performfurther operations comprising: identifying the set of elements based atleast in part on a set of identifiers associated with the set ofelements.
 19. The non-transitory computer-readable medium of claim 15,wherein the one or more power usage measurements are based on one of: atime of use, a frequency of use, a duration of use, or a magnitude ofpower consumed.
 20. The non-transitory computer-readable medium of claim15, wherein the one or more power usage measurements are received from ahardware-based power measurement device.